home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / par.z / par
Text File  |  1998-10-20  |  26KB  |  463 lines

  1.  
  2.  
  3.  
  4. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _pppp_aaaa_rrrr - process activity reporter / truss-like system call tracer
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _pppp_aaaa_rrrr [_rrrr_eeee_pppp_oooo_rrrr_tttt_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss] [_cccc_oooo_llll_llll_eeee_cccc_tttt_iiii_oooo_nnnn_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss] [_c_m_d _a_r_g_s ...]
  13.  
  14.      _pppp_aaaa_rrrr [_rrrr_eeee_pppp_oooo_rrrr_tttt_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss] [_cccc_oooo_llll_llll_eeee_cccc_tttt_iiii_oooo_nnnn_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss] [_----_pppp _p_i_d] [_----_pppp ...]
  15.  
  16.      _pppp_aaaa_rrrr [_rrrr_eeee_pppp_oooo_rrrr_tttt_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss] [_cccc_oooo_llll_llll_eeee_cccc_tttt_iiii_oooo_nnnn_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss] [_----_tttt _t_i_m_e]
  17.  
  18.      _pppp_aaaa_rrrr [_rrrr_eeee_pppp_oooo_rrrr_tttt_----_oooo_pppp_tttt_iiii_oooo_nnnn_ssss]
  19.  
  20. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.      _pppp_aaaa_rrrr is a system utility program that reports on system call and
  22.      scheduling activity for one or more processes.  _pppp_aaaa_rrrr can be used to trace
  23.      the activity of a single process, a related group of processes, or the
  24.      system as a whole.  See the _EEEE_XXXX_AAAA_MMMM_PPPP_LLLL_EEEE_SSSS section near the end for some
  25.      examples on how par is commonly used.
  26.  
  27.      When tracing system calls, _pppp_aaaa_rrrr(1) prints a report showing all system
  28.      calls made by the subject processes complete with arguments and return
  29.      values.  In this mode, _pppp_aaaa_rrrr(1) also reports all signals delivered to the
  30.      subject processes.  When tracing scheduler actions, _pppp_aaaa_rrrr(1) reports all
  31.      scheduling events taking place in the system during the measurement
  32.      period.  The report shows each time a process is put on a run queue,
  33.      started on a processor, and descheduled from a processor.  All scheduling
  34.      events are timestamped and, when available, include the reason for the
  35.      action.
  36.  
  37.      _pppp_aaaa_rrrr(1) works by processing the output of _pppp_aaaa_dddd_cccc(1).  This can be done in
  38.      two ways:  _pppp_aaaa_dddd_cccc can be run separately and the output saved in a file (to
  39.      be fed to _pppp_aaaa_rrrr as a separate operation), or _pppp_aaaa_dddd_cccc can be invoked by _pppp_aaaa_rrrr to
  40.      perform the data collection and reporting in one step.  _pppp_aaaa_rrrr can generate
  41.      different reports from data collected by _pppp_aaaa_dddd_cccc depending on the reporting
  42.      options that are specified.  The ability to generate different reports
  43.      from a single set of data is one reason that it is often desirable to run
  44.      the data collection as a separate step.
  45.  
  46.      There are three things that need to be specified on the _pppp_aaaa_rrrr command line:
  47.      what information to report, what data should be collected, and what
  48.      objects are to be monitored.  _pppp_aaaa_rrrr can be run without displaying any
  49.      information (collection-only) or without collecting any event data
  50.      (report-only).  Objects to be monitored may be running processes or
  51.      commands that are started up specifically for the purpose of collecting
  52.      event data.
  53.  
  54.      If an object is specified for monitoring (either a command to launch or
  55.      an existing process), but no data collection or reporting options are
  56.      specified, then _pppp_aaaa_rrrr defaults to collecting and reporting system call and
  57.      signal data.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  71.  
  72.  
  73.  
  74.      _DDDD_aaaa_tttt_aaaa _CCCC_oooo_llll_llll_eeee_cccc_tttt_iiii_oooo_nnnn _OOOO_pppp_tttt_iiii_oooo_nnnn_ssss
  75.  
  76.      These options should only be supplied when event data is to be collected
  77.      by running a command or by tracing an already running process or set of
  78.      processes.
  79.  
  80.      _----_ssss        Collect system call and signal data.
  81.  
  82.      _----_rrrr        Collect scheduler activity data.
  83.  
  84.      _----_kkkk        Collect disk i/o activity data.
  85.  
  86.      _----_iiii        Inherit tracing to forked children of object processes.
  87.  
  88.      _----_OOOO _f_i_l_e   Write raw event data to the specified _f_i_l_e.
  89.  
  90.      _RRRR_eeee_pppp_oooo_rrrr_tttt_iiii_nnnn_gggg _OOOO_pppp_tttt_iiii_oooo_nnnn_ssss
  91.  
  92.      Note that various options are meaningful only when the event data
  93.      includes relevant information.  For example, requesting a report on
  94.      system call activity is useless if no system call events are collected
  95.      (with the _----_ssss option) or none are present in a file of previously
  96.      collected data.
  97.  
  98.      _----_SSSS        Print a summary of system calls and signal counts.
  99.  
  100.      _----_SSSS_SSSS       Print both the summary of system call activity and a trace of
  101.                each system call and signal action.
  102.  
  103.      _----_QQQQ        Print a summary of scheduling work.
  104.  
  105.      _----_QQQQ_QQQQ       Print both the summary of scheduling work and a trace of each
  106.                scheduler operation.
  107.  
  108.      _----_QQQQ_QQQQ_QQQQ      In addition to the detailed scheduling trace, print the
  109.                contents of the global run queue after each scheduler
  110.                operation.
  111.  
  112.      _----_nnnn _s_y_s_c_a_l_l
  113.                Show records for the specified system call, where the system
  114.                call is specified by name or number.  This option may be
  115.                specified multiple times.  Specifying this option automatically
  116.                enables detailed system call reporting.
  117.  
  118.      _----_eeee _s_y_s_c_a_l_l
  119.                Exclude the specified system call from the report.  This option
  120.                may be specified multiple times.  Specifying this option
  121.                automatically enables detailed system call reporting.
  122.  
  123.      Other options that control the format and content of reports are:
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  137.  
  138.  
  139.  
  140.      _----_AAAA        Show system call parameter data (e.g. from a _rrrr_eeee_aaaa_dddd call) in
  141.                character format.  Non printable characters are output in hex.
  142.                Normally, _pppp_aaaa_rrrr selects ASCII or binary format for data according
  143.                to the data content.
  144.  
  145.      _----_aaaa _l_e_n    Set the maximum number of bytes printed in character format for
  146.                data (e.g. from a _rrrr_eeee_aaaa_dddd call) to _l_e_n.  This value defaults to 30
  147.                bytes.  The larger of the value for this option and the _----_bbbb
  148.                option is used to inform _pppp_aaaa_dddd_cccc, if appropriate, how much data to
  149.                collect (see the _----_IIII option of _pppp_aaaa_dddd_cccc).  The maximum value for
  150.                this option is 4096 bytes.
  151.  
  152.      _----_BBBB        Show system call parameter data (e.g. from a _rrrr_eeee_aaaa_dddd call) in hex
  153.                binary format.  Normally, _pppp_aaaa_rrrr selects ASCII or binary format
  154.                for data according to the data content.
  155.  
  156.      _----_bbbb _l_e_n    Set the maximum number of bytes printed in binary format for
  157.                data (e.g. from a _rrrr_eeee_aaaa_dddd call) to _l_e_n.  This value defaults to
  158.                16.  The maximum value for this option is 4096 bytes.
  159.  
  160.      _----_cccc        Do not print CPU numbers in detailed trace reports.
  161.  
  162.      _----_dddd        Show each system call as two entries: one for when the system
  163.                call is begun and a second when the system call completes.
  164.                Normally _pppp_aaaa_rrrr displays system calls as a single line, showing
  165.                input arguments, output arguments and return values.  The time
  166.                displayed is the time of the start of the system call.  This
  167.                compaction is done unless the duration of the system call
  168.                exceeds a nominal threshold (25 microseconds by default).  With
  169.                the _----_dddd option system calls are always displayed as beginning
  170.                and ending operations.
  171.  
  172.      _----_llll        Show system call output in a long format that includes each
  173.                process name and the CPU on which it is run.  By default _pppp_aaaa_rrrr
  174.                will use this format whenever it is needed to avoid confusion;
  175.                e.g. when multiple processes might appear in the report.
  176.                Otherwise, _pppp_aaaa_rrrr uses a more compact format that does not show
  177.                the process name or CPU number.  This option is only useful
  178.                when a detailed report is requested; e.g. _----_QQQQ_QQQQ and/or _----_SSSS_SSSS.
  179.  
  180.      _----_oooo _f_i_l_e   Print all output (including errors) to _ffff_iiii_llll_eeee.  This is useful
  181.                when monitoring a program that itself does output.
  182.  
  183.      _----_PPPP _p_i_d    List activity only for the process specified by _p_i_d.  Note that
  184.                this is markedly different from the _----_pppp _p_i_d option that requests
  185.                that the named _p_i_d be traced.  Thus one could request that
  186.                processes 100 and 101 be traced, but only report system calls
  187.                for process 101.  This option is typically specified when _pppp_aaaa_dddd_cccc
  188.                has been used to collect data on a number of processes - often
  189.                either by collecting for all processes on the system or all
  190.                processes descended from a specified process.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  203.  
  204.  
  205.  
  206.      _----_uuuu        Print event times as milliseconds and microseconds since the
  207.                last displayed event.
  208.  
  209.      _OOOO_bbbb_jjjj_eeee_cccc_tttt _SSSS_pppp_eeee_cccc_iiii_ffff_iiii_cccc_aaaa_tttt_iiii_oooo_nnnn
  210.  
  211.      _----_pppp _p_i_d    Trace the process specified by _p_i_d. If the _----_iiii flag is specified
  212.                then any child processes created by _p_i_d will also be traced.
  213.                Multiple _----_pppp options may be given to trace multiple processes.
  214.                In this mode, _pppp_aaaa_dddd_cccc(1) is automatically invoked by _pppp_aaaa_rrrr.
  215.  
  216.      _----_tttt _t_i_m_e   Terminate the trace after _t_i_m_e seconds. Primarily useful when
  217.                tracing the system as a whole.
  218.  
  219.      _[[[[_c_o_m_m_a_n_d _a_r_g_u_m_e_n_t_s ..._]]]]
  220.                Run the specified command with tracing enabled.  If the _----_iiii
  221.                option is specified, any child processes that are created by
  222.                _c_o_m_m_a_n_d will also be traced.  In this mode, _pppp_aaaa_dddd_cccc(1) is
  223.                automatically invoked by _pppp_aaaa_rrrr.
  224.  
  225.      _n_o_t_h_i_n_g   If no specification of an object is given, all specified
  226.                activity will be traced for the system as a whole.  Note that
  227.                only the superuser can trace the system as a whole.  In this
  228.                mode, _pppp_aaaa_dddd_cccc(1) is automatically invoked by _pppp_aaaa_rrrr.
  229.  
  230.      If no data collection options are specified and no object is specified,
  231.      _pppp_aaaa_rrrr will read standard input as output from _pppp_aaaa_dddd_cccc and report the data
  232.      according to the reporting options selected.
  233.  
  234. IIIINNNNTTTTEEEERRRRPPPPRRRREEEETTTTIIIINNNNGGGG TTTTHHHHEEEE RRRREEEEPPPPOOOORRRRTTTTSSSS
  235.      _pppp_aaaa_rrrr generates several different reports.  Summary reports, requested with
  236.      the _----_SSSS and _----_QQQQ options, are straightforward and are not described here.
  237.      Other reports provide a detailed listing of the event data; they are
  238.      composed of lines of the form:
  239.  
  240.           <_t_i_m_e>mS[<_c_p_u>] <_n_a_m_e>(<_p_i_d>): ...
  241.  
  242.      with the following explanations:
  243.  
  244.      <_t_i_m_e>    The time of the event in milliseconds relative to the start of
  245.                data collection.  If the _----_uuuu option is supplied, <_t_i_m_e> will be
  246.                followed by the number of microseconds since the last event
  247.                (enclosed in parenthesis).
  248.  
  249.      <_c_p_u>     The CPU number the event was generated on.  This is displayed
  250.                if a long listing is requested with the _----_llll option or if there
  251.                is more than one CPU in the system that data is collected on.
  252.                The _----_cccc option can be used to disable display of the CPU number.
  253.  
  254.      <_n_a_m_e>    The name of the process (as displayed by _pppp_ssss(1)).  This is only
  255.                displayed for a long listing.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  269.  
  270.  
  271.  
  272.      <_p_i_d>     The PID of the process.  This is only displayed for a long
  273.                listing.
  274.  
  275.      The remaining information that _pppp_aaaa_rrrr prints depends on the type of event
  276.      that is being reported.  For system calls each line is of the form:
  277.  
  278.            ... : <_s_y_s_c_a_l_l>(<_a_r_g_1>, <_a_r_g_2>, ..., <_a_r_g_N>) = <_r_e_s_u_l_t>
  279.  
  280.      with the following information:
  281.  
  282.      <_s_y_s_c_a_l_l> The system call name.  If the system call being displayed is
  283.                split into 2 events, the event marking the end of the system
  284.                call will have _EEEE_NNNN_DDDD_---- prepended to the name.  See below for some
  285.                help in decoding system call names.  _pppp_aaaa_rrrr attempts to print an
  286.                entire system call - input arguments, output arguments, and
  287.                error return on a single line.  It does not do this if the _----_dddd
  288.                option is given or if another event needs to be reported
  289.                between the start and end of a call.
  290.  
  291.      <_a_r_g_N>    The system call arguments.  Various amounts of decoding of
  292.                arguments is done.  Some system calls have complex arguments
  293.                that have both input and output values.  If an entire system
  294.                call is printed on one single line, these input/output
  295.                arguments have the words _IIII_NNNN_:::: or _OOOO_UUUU_TTTT_:::: printed before the
  296.                decoding of the argument.  Some complex indirect parameters are
  297.                displayed symbolically using their C structure definition.
  298.                Note that not all indirect parameter values are available; some
  299.                are not returned by the operation system while others may not
  300.                be copied out because doing so would exceed the maximum amount
  301.                of indirect data to included in an event (see the _----_IIII option for
  302.                _pppp_aaaa_dddd_cccc).
  303.  
  304.      <_r_e_s_u_l_t>  The error status or return value of the system call.  For
  305.                system calls that simply return success or failure, _pppp_aaaa_rrrr prints
  306.                _OOOO_KKKK for success, and the error value for failure.  System calls
  307.                that return values have those values printed.
  308.  
  309.      Since _pppp_aaaa_rrrr's information comes straight from the operating system at the
  310.      system call level, some calls that _pppp_aaaa_rrrr presents may not seem to
  311.      correspond to the calls that the application made.  This is because some
  312.      system calls are implemented in runtime libraries on top of more
  313.      primitive system calls.  Some notable examples of this are:
  314.  
  315.      _wwww_aaaa_iiii_tttt_ssss_yyyy_ssss   is the underlying system call for all wait-like calls.  Its
  316.                arguments are the same as _wwww_aaaa_iiii_tttt_iiii_dddd(2) except that it takes as a
  317.                fifth argument a pointer to a _s_t_r_u_c_t _r_u_s_a_g_e.
  318.  
  319.      _????_xxxx_ssss_tttt_aaaa_tttt    These stat calls are the same as the application entry points
  320.                except that the first argument is a version number.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  335.  
  336.  
  337.  
  338.      _ssss_iiii_gggg_aaaa_cccc_tttt_iiii_oooo_nnnn is used to implement all type signal routines.  It takes one
  339.                additional parameter than the application entry point - the
  340.                address of the library handler that all signals funnel through.
  341.  
  342.      _ssss_iiii_gggg_rrrr_eeee_tttt_uuuu_rrrr_nnnn is used to return a process from its signal handler to the
  343.                previous context.
  344.  
  345.      _ssss_iiii_gggg_pppp_oooo_llll_llll   is used to implement _ssss_iiii_gggg_wwww_aaaa_iiii_tttt_rrrr_tttt(3) and _ssss_iiii_gggg_tttt_iiii_mmmm_eeee_dddd_wwww_aaaa_iiii_tttt(3).
  346.  
  347.      _EEEE_RRRR_EEEE_SSSS_TTTT_AAAA_RRRR_TTTT  is returned when a system call should be automatically
  348.                restarted after being interrupted by a signal (see _ssss_iiii_gggg_aaaa_cccc_tttt_iiii_oooo_nnnn).
  349.                This error is never actually returned to the user but _pppp_aaaa_rrrr
  350.                reports the re-invocation of a system call as an error.
  351.  
  352. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  353.           _pppp_aaaa_rrrr _llll_ssss _////
  354.  
  355.      Display a system call trace and summary for the command 'ls /'.  (_pppp_aaaa_rrrr
  356.      supplies the implicit -sSS options because a command to launch was
  357.      specified without any reporting or collection options.):
  358.  
  359.           apache% par ls /
  360.           MISER      de         hosts      mnt        par.out    tmp        var
  361.           RTMON      debug      hw         ns         proc       tmp_mnt
  362.           TESTS      dev        lib        opt        proj       unix
  363.           bin        doouf      lib32      out.1      rtmon.out  unix.benf
  364.           build      etc        lib64      output.1   sbin       unix.orig
  365.           build11    ficus      miser      par        stand      usr
  366.               0mS[  1] was sent signal SIGUSR1
  367.               0mS[  3] received signal SIGUSR1 (handler 0x10002560)
  368.               0mS[  3] END-pause() errno = 4 (Interrupted function call)
  369.               1mS[  3] sigreturn(0x7fff2b40) OK
  370.               1mS[  3] execve(./ls, 0x7fff2f6c, 0x7fff2f78)
  371.             262mS[  3] END-execve() errno = 2 (No such file or directory)
  372.             262mS[  3] execve(/usr/sbin/ls, 0x7fff2f6c, 0x7fff2f78) errno = 2 (No such file or directory)
  373.             263mS[  3] execve(/usr/bsd/ls, 0x7fff2f6c, 0x7fff2f78) errno = 2 (No such file or directory)
  374.             264mS[  3] execve(/sbin/ls, 0x7fff2f6c, 0x7fff2f78)
  375.             274mS[  3] END-execve() OK
  376.             274mS[  3] open(/lib32/rld, O_RDONLY, 04) = 3
  377.             275mS[  3] read(3, <7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00>..., 512) = 512
  378.             276mS[  3] elfmap(3, 0x7fff2d54, 2) = 0xfb60000
  379.             276mS[  3] close(3) OK
  380.             279mS[  3] getpagesize() = 16384
  381.             279mS[  3] sysinfo(_MIPS_SI_PROCESSORS, 0x7fff2dc0, 257) = 43
  382.             281mS[  3] open(/dev/zero, O_RDONLY, 0) = 3
  383.             282mS[  3] mmap(0xfbd4000, 16384, PROT_WRITE|PROT_READ, MAP_PRIVATE, 3, 0) = 0xfbd4000
  384.             282mS[  3] close(3) OK
  385.             ...
  386.  
  387.      Note that output from the command is intermixed with the system call
  388.      report; the _----_oooo option can be used to direct the report to a file
  389.      separately from any output generated by the command.  The report about
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. PPPPAAAARRRR((((1111))))                                                                  PPPPAAAARRRR((((1111))))
  401.  
  402.  
  403.  
  404.      the command receiving a SIGUSR1 signal is expected; this is done as part
  405.      of the normal procedure for starting up a program with tracing.  Finally,
  406.      note that many system call parameters are displayed symbolically and that
  407.      the _i_n_d_i_r_e_c_t _v_a_l_u_e of many parameters is displayed; e.g. ``/lib32/rld''
  408.      and ``/dev/zero'' for open.
  409.  
  410.           _pppp_aaaa_rrrr _----_rrrr_ssss_SSSS_SSSS_QQQQ_QQQQ _----_OOOO _llll_ssss_...._pppp_aaaa_dddd_cccc _llll_ssss _////
  411.  
  412.      Report on system calls and scheduling activities for the command 'ls /',
  413.      and also record the raw event data in the file _l_s._p_a_d_c.
  414.  
  415.           _pppp_aaaa_rrrr _----_oooo _oooo_uuuu_tttt_ffff_iiii_llll_eeee _----_nnnn _oooo_pppp_eeee_nnnn _----_nnnn _cccc_llll_oooo_ssss_eeee _llll_ssss
  416.  
  417.      Trace only the open and close system calls.  Write the resulting output
  418.      to _o_u_t_f_i_l_e.  Note that it is not necessary to specify _----_SSSS_SSSS options since
  419.      they are implied by the _----_nnnn option.  Also, the _----_ssss option is not required
  420.      because system calls are the default data to collect when a command is
  421.      specified.
  422.  
  423.           _pppp_aaaa_rrrr _----_oooo _oooo_uuuu_tttt_ffff_iiii_llll_eeee _----_iiii _----_tttt _3333_0000 _----_pppp _1111
  424.  
  425.      Trace all processes started directly by process 1 (which is the iiiinnnniiiitttt
  426.      process, the ancestor of all user processes) for thirty seconds, and
  427.      store the report in the file _o_u_t_f_i_l_e.  Note that the _----_iiii option will cause
  428.      only processes newly created by iiiinnnniiiitttt to be traced; i.e. it does not mark
  429.      all existing child processes for tracing.
  430.  
  431. LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS
  432.      To reduce system load, when collecting system call event data, system
  433.      calls executed by _pppp_aaaa_dddd_cccc(1) and _rrrr_tttt_mmmm_oooo_nnnn_dddd_((((_1111_)))) are not recorded.  This can lead
  434.      to some inexplicable gaps when tracing complete system activity.
  435.  
  436.      The process name associated with an event may be misleading.  This is
  437.      because a process's name may change between the time an event is
  438.      generated and the time the event collection process (_rrrr_tttt_mmmm_oooo_nnnn_dddd) checks for
  439.      the name.  For example, a process may generate events then exit before
  440.      _rrrr_tttt_mmmm_oooo_nnnn_dddd is able to query the system for the process name.  In this case
  441.      the events will show up as being associated with a process without a
  442.      name.
  443.  
  444. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  445.      _pppp_aaaa_dddd_cccc(1), _rrrr_tttt_mmmm_oooo_nnnn_dddd(1).
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.